The access, transfer and storage of electronic data is one of the most important aspects of modern life. From business to personal use, electronic data is utilized to make lives easier, as information representing transactions, personal data, business, and the like is stored and transferred quickly and accurately. By communicatively linking systems, data may be transferred to provide this functionality.
To provide consistent and persistent access to data, a variety of paths to the data, as well as data saving schemes may be employed. However, these schemes may require high data bandwidth, may be resource intensive, and may be incompatible across a variety of architectures. Further, such methods may result in complications to future development of products, devices and systems.
Further, the scheme employed may vary greatly depending on the functionality of the connected system. For example, some systems, when presented with multiple paths to a storage device, or target, will view each path as representing a different target device, thereby causing great confusion and compatibility issues within the system. However, in other systems, a host, when presented with multiple paths, may determine how many target devices are actually represented and choose a path accordingly. Such a system, when presented with but a single path and/or reconciled target, may have such optimization ability through the system hindered.
Additionally, to provide data from target devices in previous systems, targets were connected in very basic configurations, such as point-to-point and cross-coupled. However, component or software unavailability of even a single server, target device, route, and the like may make data access and transfer impossible. Some systems utilized to address these problems involved extensive modification to host operating systems, target devices, and the like, thereby making the implementation of this functionality difficult if not impossible in pre-existing systems.